Information processing system, information processing method, and computer-readable recording medium

ABSTRACT

An information processing system including a server apparatus and a client apparatus, the server apparatus including: a first storage unit; a first detection unit configured to detect installing of a program; a first conversion unit configured to convert a file including the program into a predetermined form; a first storage control unit configured to store the file in a first storage area; and a transmitting unit configured to transmit the file to the client apparatus, the client apparatus including: a second storage unit; a second storage control unit configured to store the file transmitted from the server apparatus in a second storage area a second detection unit configured to detect storing of the file; a second conversion unit configured to convert the file into an installable form; and an installing unit configured to install the program included in the file in the client apparatus.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation patent application of, and claims thebenefit of and priority to U.S. patent application Ser. No. 12/372,833filed on Feb. 18, 2009, now U.S. Pat. No. 8,199,351, which is based onand claims the benefit of priority of Japanese Patent Application No.2008-039220 filed on Feb. 20, 2008 with the Japanese Patent Office. Theentire contents of U.S. patent application Ser. No. 12/372,833 andJapanese Patent Application No. 2008-039220 are hereby incorporated byreference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to an information processingsystem constituted by an information processing apparatus including apersonal computer, an information processing method of the informationprocessing system, and a computer-readable recording medium havinginstructions executable by a computer to execute the informationprocessing method.

2. Description of the Related Art

As an example of an operating system (OS) running in an informationprocessing apparatus such as a computer, there is the Windows(registered trademark) by Microsoft Corporation which includes afunction called “Point & Print” (registered trademark, referred to as“P&P” in the following) for enabling plural client personal computers(PCs) (also referred to as “clients” in the following) to use a printerdirectly connected to a server PC (also referred to as “server” in thefollowing) via a network, or to use the printer as a shared printerwhich is connected to the network.

The P&P is a function which enables a printer driver to be automaticallytransmitted from the server to the clients and the clients to installthe transmitted printer driver. In this way, it becomes possible foreach of the clients in the network to use the printer described abovewithout the need to install the printer driver.

There is known a printer driver described above which can add a new (oradditional) function to the installed printer driver. A small scaleprogram for adding the new function to the printer driver is called aplug-in.

However, in the operation of a conventional P&P described above, even ifa module of a new plug-in is added and installed to the printer driverof the server, the server does not transmit the module of the newplug-in automatically to each of the clients. In this case, there is aproblem that each of the clients cannot use the function of the newplug-in without installing the module of the new plug-in to each of theclients.

Recently, an information processing apparatus has been proposed in aJapanese Patent Application Publication No. 2005-208895, in which amodule called an add-in installer for adding an add-in corresponding tothe plug-in module described above accesses a print service of the OS ofthe server, registers an additional add-in module for the configurationinformation of the print service, and copies the add-in module from theserver to the printer driver of the client through the print servicewith respect to the client.

However, the information processing apparatus described above needs toadd the add-in installer, and further, after an add-in module of theadd-in installer is installed, the update of configuration informationof the print service of the server and a reboot process of the printservice are necessary. Since the print process cannot be performedduring the reboot process, it is difficult to add the plug-in to theclient in an environment where an interruption of the print service forthe client is not permitted.

SUMMARY OF THE INVENTION

It is a general object of the present invention to provide a novel anduseful information processing system, information processing method andcomputer-readable recording medium, in which the problem described aboveis minimized.

One aspect of the present invention is to provide an informationprocessing system, an information processing method and acomputer-readable recording medium, which enable functions of a plug-inadded to a driver in a server apparatus to be added and used in a clientapparatus without having to re-install the driver in the clientapparatus.

According to one aspect of the present invention, there is provided aninformation processing system comprising a server apparatus; and atleast one client apparatus coupled to and communicatable with the serverapparatus via a network; said server apparatus comprising a firststorage apparatus; a first detection unit configured to detectinstalling of a plug-in file in the first storage apparatus; a firststorage area; a first writing unit configured to write binary image dataof the plug-in file detected by the first detection unit to the firststorage area; and a copy unit configured to copy the binary image dataof the plug-in file written in the first storage area by the firstwriting unit to the client apparatus, said client apparatus comprising asecond storage apparatus; a second storage area; a second detection unitconfigured to detect copying of the binary image data of the plug-infile in the second storage area; a second writing unit configured towrite the binary image data of the plug-in file stored in the secondstorage area in an executable state within the second storage apparatus;and a read unit configured to read the plug-in file written in thesecond storage apparatus by the second writing unit as a program.

According to another aspect of the present invention, there is providedan information processing method comprising detecting installing of aplug-in file in a first storage apparatus within a server apparatus;writing binary image data of the detected plug-in file to a firststorage area within the sever apparatus; copying the binary image dataof the plug-in file written in the first storage area to a secondstorage area within at least one client apparatus which is coupled toand communicatable with the server apparatus via a network; detectingcopying of the binary image data of the plug-in file in the secondstorage area; writing the binary image data of the plug-in file storedin the second storage area in an executable state within a secondstorage apparatus within the client apparatus; and reading the plug-infile written in the second storage apparatus as a program.

According to another aspect of the present invention, there is provideda computer-readable recording medium on which a program which, whenexecuted by a computer, causes the computer to perform a processcomprising a first detection procedure detecting installing of a plug-infile in a first storage apparatus within a server apparatus; a firstwriting procedure writing binary image data of the plug-in file detectedby the first detection procedure to a first storage area within theserver apparatus; a copy procedure copying the binary image data of theplug-in file written in the first storage area by the first writingprocedure to at least one client apparatus which is coupled to and iscommunicable with the server apparatus via a network; a second detectionprocedure detecting copying of the binary image data of the plug-in filein the second storage area; a second writing procedure writing thebinary image data of the plug-in file stored in the second storage areain an executable state within the second storage apparatus; and a readprocedure reading the plug-in file written in the second storageapparatus by the second writing procedure as a program.

Other objects, features and advantages of the present invention willbecome more apparent from the following detailed description when readin conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the structure of an informationprocessing system of an embodiment of the present invention;

FIGS. 2A through 2B are block diagrams respectively showing thefunctional structures of the printer drivers for a server PC and aclient shown in FIG. 1;

FIG. 3 is a sequence diagram for explaining a process of the informationprocessing system illustrated in FIG. 1 enabling the client PC to usethe plug-in file of the server PC;

FIG. 4 is an illustration indicating a data format which is used when aplug-in file is written in the printer driver setting informationstorage areas shown in FIGS. 2A and 2B;

FIG. 5 is a flowchart for explaining a process of the printer driverdata plug-in file writing part indicated in FIG. 2B;

FIG. 6 is an explanatory drawing showing another file format to be usedwhen a plug-in file is written in the printer driver setting informationstorage areas shown in FIGS. 2A and 2B;

FIG. 7 is a flowchart for explaining another process of the printerdriver data plug-in file writing part indicated in FIG. 2B; and

FIG. 8 is a sequence diagram of a deletion process which deletes aplug-in file of the client PC in the information processing system shownin FIG. 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following, the preferred embodiments for achieving the presentinvention will be described with accompanying drawings.

FIG. 1 is a block diagram showing the structure of an informationprocessing system of an embodiment of the present invention.

FIGS. 2A through 2B are block diagrams showing the functional structuresof the printer drivers for a server personal computer (PC) and a clientrespectively indicated in FIG. 1.

As indicated in FIG. 1, the information processing system includes aserver PC 1 which forms a server apparatus, and includes client PCs 2which form plural client apparatuses. The server PC 1 and each of theclient PCs 2 are connected via a network 4 and can perform datacommunication one another. Also, a printer 3 connected to the network 4is open to each of the client PCs 2 via the server PC 1 as a sharedprinter. The server PC 1 performs a function of a print server system,in which the server PC 1 manages print data input from the client PCs 2and prints the print data using the printer 3.

It should be noted that only a single client PC 2 is presented in FIG. 1for the sake of convenience, and the illustration of other client PCs 2are omitted in FIG. 1.

The server PC 1 and each of the client PCs 2 may be personal computers,for example. The printer 3 may be any kind of apparatus having aprinting function, including a laser printer, a copying apparatus and amultifunction peripheral (MFP). The network 4 may be a communicationnetwork including a local area network and the Internet. The server PC 1is provided with parts including an operating system (OS) 10 and astorage apparatus such as a hard disk drive (HDD) 11. The operations ofthe OS 10 are performed by executing control programs stored on the HDD11 by a microcomputer including a central processing unit (CPU), a readonly memory (ROM) and a random access memory (RAM) of the server PC 1.The OS 10 is a functional part that controls the entire server PC 1. TheOS 10 also includes a printer driver 12, a printer driver settinginformation storage area 13, and a spooler service 14 as functionalparts related to printing.

By causing the CPU to execute a program according to the presentinvention, which is included in the control programs described above,the information processing method of the present invention is performed,and each of functions of the information processing system of thepresent invention is achieved.

On the other hand, the client PC 2 includes an OS 20, a storageapparatus such as a hard disk drive (HDD) 21. The operation of the OS 20is performed by executing control programs stored on the HDD 21 by amicrocomputer including a CPU, a ROM and a RAM of the client PC 2. TheOS 20 is a functional part that controls the whole client PC 2. The OS20 also includes a printer driver 22, a printer driver settinginformation storage area 23, and a spooler service 24 for functionalparts of printing similar to the case of the OS 10 described above.

The OS 10 and the OS 20 may be, for example, any type of OS includingthe Windows OS provided by Microsoft Corporation. In the following,descriptions will be given for a case where the Windows OS by MicrosoftCorporation is used.

In FIG. 1, only the functional parts related to printing are indicated,and illustration and description of other functional parts are omitted.

The printer drivers 12 and 22 perform print control related to printing,respectively. The printer driver setting information storage areas 13and 23 are memory areas respectively provided by the OSs 10 and 20, andare shared by the server PC 1 and the client PC 2. The printer driversetting information storage areas 13 and 23 correspond to a data areacalled “printer driver data area” which is a function provided by theprinter driver of the Windows.

The spooler services 14 and 24 provide transmission of print datagenerated by each of the printer drivers 12 and 22 to the printer 3,installation of printer drivers 12 and 22, and an application programinterface (API) for using the P&P function. The printer drivers 12 and22 execute processes via the API.

In the information processing system, the server PC 1 automaticallyinstalls the same printer driver installed in the server PC 1 into theclient PC 2 by use of the P&P function described above when the clientPC 2 makes a setting to use the printer 3 as a shared printer withrespect to the server PC 1.

Further, if a plug-in file of the print function is installed in aspecific folder within the HDD 11, the printer driver 12 of the OS 10 ofthe server PC 1 reads the plug-in file from the specific folder in theHDD 11 and adds the print function by executing the plug-in file whendisplaying a user interface (UI) with respect to a display part (notshown) or when printing is performed by the printer 3.

Likewise, in the client PC 2, if a plug-in file of the print function isinstalled in a specific folder within the HDD 21, the printer driver 22of the OS 20 of the client PC 2 reads the plug-in file from the specificfolder in the HDD 21 and adds the print function by executing theplug-in file when displaying a UI on a display part (not shown) or whenprinting is performed by the printer 3 via the server PC 1.

In the Windows by Microsoft Corporation, the plug-in file describedabove is generally provided in the form of a module called a dynamiclink library (DLL). When reading and using the DLL within the programsof the printer drivers 12 and 22, the DLL cannot be used if the DLLmerely exists as a memory image, and there is a requirement that the DLLmust be written on hard disks of the HDDs 11 and 22.

Information necessary for the operation of a printer driver developed byeach printer manufacturer of the printer to be used by a computeroperating on the Windows OS can be registered at any time in the printerdriver setting information storage areas 13 and 23.

Normally, the printer driver setting information storage areas 13 and 23are used to store the setting information of a printer driver userinterface (UI), however, there is no restriction on the informationstorable in the printer driver setting information storage areas 13 and23.

Further, under the P&P environment of the OS 10 and the OS 20, asynchronizing process is performed so that the same information is heldin the printer driver setting information storage areas 13 and 23 of theserver PC 1 and the client PC 2.

In the information processing system, information (data) stored in theprinter driver setting information storage area 13 of the server PC 1 isautomatically transmitted to the client PC 2 by the process of thespooler service 14 under the control of the OS 10, and is copied to theprinter driver setting information storage area 23 by the spoolerservice 24 of the client PC 2. Therefore, the printer drivers 12 and 22can always perform the print control by referring the same content ofprinter driver setting information.

Further, when the plug-in file 15 is installed in the specific folderwithin the HDD 11, the printer driver 12 of the server PC 1 writes theplug-in file 15 in the printer driver setting information storage area13 as binary image data, and thereafter copies the binary image data ofthe plug-in file 15 to the printer driver setting information storagearea 13 to the driver setting information storage area 23 of the clientPC 2 by the synchronizing process described above.

On the other hand, the printer driver 22 of the client PC 2 writes thebinary image data of the plug-in file 15 copied to the printer driversetting information storage area 23 by the server PC 1 to the specificfolder in the HDD 21 as an executable file.

In this manner, similar to the server PC 1, the plug-in can be used inthe client PC 2 by performing a module reading process with respect tothe plug-in file 25 stored in the specific file within the HDD 21.

Accordingly, it becomes possible for client PCs to use the same plug-infile as that of the server PC by merely installing the plug-in file tothe server PC, in an environment where only the functions of printerdrivers initially provided by the operating system (OS) are availablefor use.

Next, a description will be given of a process of the informationprocessing system which enables the plug-in file of the server PC 1 tobe also used by the client PC 2.

FIG. 3 is a sequence diagram for explaining a process of the informationprocessing system illustrated in FIG. 1 which also enables the client PC2 to use the plug-in file of the server PC 1.

When a UI display part 40 starts displaying a UI display on a displaypart (not shown) or when a plotting data forming part 44 performs aprint process in step S1, the printer driver 22 of the client PC 2transmits a PDD (printer driver data) update request which requestupdating of the printer driver setting information storage area 23 tothe server PC 1 by the spooler service 24 (indicated as “SS24”) in stepS2.

When the server PC 1 receives the PDD update request transmitted fromthe client PC 2 by the spooler service 14 (indicated as “SS14”) in stepS3, the spooler service 14 transmits the PDD update request to theprinter driver 12. When the printer driver 12 receives the PDD updaterequest, the printer driver 12 detects whether a plug-in file (indicatedas “PIF” in FIG. 3) is stored in the specific folder within the HDD 11in step S4 by a plug-in file detection part 31 (indicated as “PIFdetection part 31”). This plug-in file detection part 31 forms a firstdetection unit which detects installing of a plug-in file in the HDD 11.

When the plug-in file detection part 31 detects that the plug-in file 15of the printer driver 12 is installed in the specific folder within theHDD 11, the plug-in file detection part 31 transmits a write request toa writing part 33 (indicated as “PIF-PDD writing part 33”) to requestwriting of the plug-in file to the printer driver setting informationstorage area 13. The writing part 33 forms a first writing unit whichwrites binary image data of the plug-in file detected by the plug-infile detection part 31 to the printer driver setting information storearea 13.

When the write request requesting the writing of the plug-in file isreceived from the plug-in file detection part 31, the writing part 33reads the plug-in file 15 which is installed in the specific folderwithin the HDD 11 in the form of the binary image data and writes thebinary image data of the plug-in file 15 in the printer driver settinginformation storage area 13 in step S5.

The UI display part 40 of the client PC 2 displays the end of the PDDupdate in step S6.

Further, the binary image data of the plug-in file 15 written in theprinter driver setting information storage area 13 are also copied tothe printer driver setting information storage area 23 of the client PC2 by the function of the spooler service 14. This spooler 14 forms acopy unit which copies the binary image data of the plug-in file writtenin the printer driver setting information storage area 13 to the printerdriver setting information store area 23.

In step S7, the UI display part 40 of the printer driver 22 of theclient PC 2 transmits a PIF confirmation request to a printer driverdata detection part 41, and indicated as “PDD detection part 41”). Thisprinter driver data detection part 41 forms a second detection unitwhich detects copying of the binary image data of the plug-in file inthe printer driver setting information storage area 23. When the PIFconfirmation request is received from the UI display part 40, theprinter driver data detection part 41 detects whether the binary imagedata of the plug-in file 15 are copied and stored in the printer driversetting information storage area 23 in step S8. When the printer driverdata detection part 41 detects that the binary image data of the plug-infile 15 are stored in the printer driver setting information store area23, the printer driver data detection part 41 transmits a write requestto a writing part 43 (indicated as “PDD-PIF writing part 43”). Thiswriting part 43 forms a second writing unit which writes the binaryimage data of the plug-in file stored in the printer driver settinginformation storage area 23 in an executable state within the HDD 21.

When the write request is received from the printer driver datadetection part 41, the writing part 43 reads the binary image data ofthe plug-in file 15 stored in the printer driver setting informationstorage area 23, and writes the binary image data of the plug-in file 15in the specific folder within the HDD 21 in step S9 so that the binaryimage data are usable by the printer driver 22 as a plug-in 25.Therefore, the plug-in file 25 executable by the printer driver 22 isinstalled in the HDD 21.

Further, in step S10, the UI display part 40 of the printer driver 22transmits a PIF read request to a plug-in file read part 42 (indicatedas “PIF read part 42”). This plug-in file read part 42 forms a read unitwhich reads the plug-in file written in the HDD 21 by the writing part43 as a program. When the PIF read request is received from the UIdisplay part 40, the plug-in file read part 42 reads (or loads) the dataof the plug-in file 25 from the specific folder within the HDD 21 as aprogram to be executed by the printer driver 22 in step S11. The plug-infile read part 42 does not perform an operation if there is no plug-infile stored in the specific folder within the HDD 21.

By the operation of the printer driver 22, the functions of the plug-infile can be displayed by the UI display part 40, and the printer driver22 can use the function of the plug-in file 15 installed in the serverPC 1.

As described above, by merely installing a plug-in into the printerdriver of the server PC 1 by only using available functions of printerdrivers provided in advance by the OSs 10 and 20 of the server PC 1 andthe client PC 2, it becomes possible for the client PC 2 to use theplug-in of the server PC 1 without having to interrupt the print servicewith respect to the client PC 2 by rebooting the print service of theserver PC 1.

Next, a description will be given of a data format which is used whenthe writing part 33 as described above writes a plug-in file in theprinter driver setting information storage area 13.

FIG. 4 illustrates indicating the data format which is used when theplug-in file is written in the printer driver setting informationstorage area 13 shown in FIG. 2.

As shown in FIG. 4, the writing part 33 may create a file including, forexample, the binary image data of the plug-in file read from the HDD 11,a file name “PluginFile. DLL”, and a file creation date “xxxx/xx/xx”,and write this file in the printer driver setting information storagearea 13.

Further, by the synchronizing process described above, the plug-in file15 in the printer driver setting information storage area 13 of theserver PC 1 is copied to the printer driver setting information storagearea 23 of the client PC 2.

In the client PC 2, the writing part 43 executes the process concerningthe file copied in the printer driver setting information storage area23 by the server PC 1.

First, the writing part 43 writes the plug-in file written in theprinter driver setting information storage area 23 on the HDD 21 whenthere is no plug-in data on the HDD 21.

Next, a description will be given of a case where the plug-in file 25 isalready installed in the HDD 21 of the client PC 2. In this case, it isassumed that the file name and the file creation date of the plug-infile 25 are managed in the HDD 21.

FIG. 5 is a flowchart for explaining a process of the writing part 43indicated in FIG. 2.

In step S21, the writing part 43 extracts a file name from a plug-infile written in the printer driver setting information storage area 23.In step S22, the writing part 43 searches for a plug-in file in thespecific folder within the HDD 21 and having the same file name as theextracted file name. In step S23, the writing part 43 determines whetherthe plug-in file having the extracted file name exists in the specificfolder within the HDD 21.

If a file having the extracted file name exists in the specific folderwithin the HDD 21 (yes) in step S23, the writing part 43 extracts thefile creation date from the plug-in file written in the printer driversetting information storage area 23 in step S24. In step S25, acomparison is made between the file creation date of the plug-in filehaving the extracted file name in the specific folder within the HDD 21and the extracted file creation date. In step S26, it is determinedwhether the file creation date of the plug-in file written in theprinter driver setting information storage area 23 is newer (or morerecent) than the creation date of the plug-in file having the extractedfile name in the specific folder within the HDD 21. If the determinationresult in the step S26 is no, it is determined in step 27 that an updateof the plug-in file written in the printer driver setting informationstorage area 23 has not been updated, and this process ends withoutperforming the writing process in which the plug-in file written in theprinter driver setting information storage area 23 is written in thespecific folder within the HDD 21.

On the other hand, if the plug-in file having the extracted file namedoes not exist according to the determination of step 23 or the filecreation date of the plug-in file written in the printer driver settinginformation storage area 23 is newer than that of the plug-in filehaving the extracted file name in the specific folder within the HDD 21according to the determination of step 26, it is determined that theplug-in file has been updated. In this case, the process proceeds tostep S28 to perform the writing process which writes the binary imagedata of the plug-in file written in the printer driver settinginformation storage area 23 in the specific folder within the HDD 21,and the process ends.

In this manner, the comparison is made between the copied file in theprinter driver setting information storage area 23 and the plug-in filealready written in the HDD 21, and then the determination is made todetermine whether a plug-in file should be newly written. If a plug-infile having the same file name and newer file creation date compared tothe copied file in the printer driver setting information storage area23 which is already installed in the HDD 21, the writing process fromthe printer driver setting information storage area 23 is not performed,so that an unnecessary process is omitted.

Next, if there are plural plug-in files within the HDD 11, aftercreating each file having the data format indicated in FIG. 4, and eachfile may be compressed and combined into a single archive by the writingpart 33, so that a single file is written in the printer driver settinginformation storage area 13. In this case, the plural plug-in files canbe managed in a small storage area and the increase of the file size canbe minimized by the file compression process. The writing part 33 formsa compressing unit which compresses binary image data of a plurality ofplug-in files into a single archive when the writing part 33 writes thebinary image data to the printer driver setting information storage area13.

In this case where the file compression process is performed, in thewriting part 43 of the client PC 2, the copied file in the printerdriver setting information storage area 23 copied by the server PC 1 isdecompressed, and the comparison is made between the file name and thefile creation date of each of the files included in the decompressedfile and the file name and the file creation date of the plug-in filewritten in the HDD 21. If each of the files included in the decompressedfile having the same file name as and newer creation date compared tothe plug-in file written in the HDD 21 exists in the printer driversetting information storage area 23, the writing process is performed toadd the plug-in file of each of the files in the decompressed file intothe HDD 21.

Further, when a plug-in file for each of the different types of OSs isinstalled in the HDD 11 of the server PC 1, the plug-in file may bewritten in the printer driver setting information storage area 13 as afile from which the type of OS is identifiable. In this case, it ispossible to install in the client PC 2 only the plug-ins correspondingto the type of the OS running in the client PC 2. Hence, even when theplural client PCs 2 use different types of OSs, it is possible to makethe same type of plug-in usable with respect to all of the client PCs 2.

In the server PC 1, when the binary image data of a plug-in file arewritten into the printer driver setting information store area 13,identification information which identifies a target OS with respect tothe plug-in file may be added.

FIG. 6 is an explanatory drawing showing another data format to be usedwhen a plug-in file is written in the printer driver setting informationstorage areas 13 and 23 shown in FIGS. 2A and 2B.

As shown in FIG. 6, the writing part 33 may create a file including, forexample, the binary image data of the plug-in file read from the HDD 1,a file name “PluginFile.DLL”, a file creation date “xxxx/xx/xx”, andtarget OS information “Windows2000”, and write this file in the printerdriver setting information storage area 13.

Further, after plug-in files are created based on the format describedabove for every plural target OSs, each file is combined and compressedinto a single archive, so that a single file is written in the printerdriver setting information storage area 13.

According to the synchronizing process described above, the plug-in filein the printer driver setting information storage area 13 of the serverPC 1 is copied to the printer driver setting information storage area 23of the client PC 2.

In the client PC 2, the writing part 43 executes a process concerningthe file copied in the printer driver setting information storage area23.

In the following, a description will be given of a process whichinstalls a plug-in file corresponding to the OS operated in the clientPC 2.

FIG. 7 is a flowchart for explaining another process of the writing part43 indicated in FIG. 2B.

A description will be given of a case where plug-in files written in theprinter driver setting information storage area 23 including files whichcorrespond to plural types of OSs.

The writing part 43 acquires information of the type of the OS theclient PC 2 by use of the API (Application Program Interface) providedby the OS in step S31 (indicated as “S31”), and extracts the informationof the target OS from the plug-in file written in the printer driversetting information storage area 23 in step S32. In step S33, thewriting part 43 compares between the acquired information of the OS typedescribed above and the extracted information of the target OS describedabove, and determines whether the acquired information and the extractedinformation match each other in step S34.

If the determination of step S34 determines a mismatch exists, theprocess of step S36 determines whether each of the plural filesconcerning the OS in the plug-in file written in the printer driversetting information storage area 23 have been referred for all of theplural files concerning the OS. If all of the plural files have beenreferred, then the process is completed. If all of the plural files havenot been referred, the process returns to step S32 and continues thecomparison process described above.

Further, if the determination of step S34 determines to be match, thenthe matched plug-in file written in the printer driver settinginformation storage area 23 is written as an executable form in thespecific folder within the HDD 21 with the writing process. The processis completed then.

Further, although comparison of file creation date is not performed inthe above process, the writing process (plug-in file writing process) isperformed only when the file creation date of the plug-in file writtenin the printer driver setting information storage area 23 is newer thanthat of the plug-in file installed in the HDD 21, in a similar manner tothe process shown in FIG. 5.

In this way, the writing part 43 of the client PC 2 acquires the type ofthe OS of the client PC 2 and compares the type of the OS of the clientPC 2 with the target OS of the plug-in file copied in the printer driversetting information storage area 23. The writing part 43 writes only theplug-in file of the type of the OS corresponding to the OS of the clientPC 2 in the specific folder within the HDD 21 as executable plug-in fileby use of the writing process.

Accordingly, the plug-in file corresponding to the OS of the client PC 2can be installed.

Next, a description will be given for a deletion process of the plug-infile of the information processing system.

In a plug-in file deletion process, if the plug-in file detection part31 detects that a plug-in file written in the specific folder within theHDD 11 is deleted, then the binary image data of the plug-in filecorresponding to the plug-in file written in the printer driver settinginformation storage area 13 is deleted by use of the writing part 33,and the printer driver 12 of the server PC 1 copies the content of theprinter driver setting information storage area 13 to the printer driversetting information storage area 23 of the client PC 2 by thesynchronizing process described above. The writing part 33 forms a firstdeletion unit which detects deletion of a plug-in file installed in theHDD 11, and deletes from the printer driver setting information storagearea 13 a plug-in file corresponding to the plug-in file deleted fromthe HDD 11. As a result, the binary image data of the plug-in filedeleted from the printer driver setting information storage area 13 isalso deleted from the printer driver setting information storage area23.

Further, in the printer driver data detection part 41 of the client PC2, an update of the content of the printer driver setting informationstorage area 23 is detected, and the writing part 43 deletes the plug-infile corresponding to the deleted binary image data of the plug-in filein the printer driver setting information storage area 23 from thespecific folder of the HDD 21.

FIG. 8 is a sequence diagram of a deletion process which deletes aplug-in file of the client PC 2 in the information processing systemshown in FIG. 1.

When the UI display part 40 starts displaying a UI display on thedisplay part (not shown) in step S41 (indicated as “S41”) or when theplotting data forming part 44 performs a print process, the printerdriver 22 of the client PC 2 transmits an update request (indicated as“PDD update request transmission”) to the server PC 1 by the spoolerservice 24 (indicated as “SS24”) in step S42.

When the server PC 1 receives the PDD update request transmitted fromthe client PC 2 by the spooler service 14 (indicated as “SS14”) in stepS43, the spooler service 14 transmits the PDD update request to theprinter driver 12. When the printer driver 12 receives the PDD updaterequest, the printer driver 12 detects whether a plug-in file (indicatedas “PIF”) in the specific folder within the HDD 11 is deleted by use ofthe plug-in file detection part 31 (indicated as “PIF detection part31”) in step S44.

When the plug-in file detection part 31 detects that the plug-in file 15of the printer driver 12 in the specific folder within the HDD 11 isdeleted, the plug-in file detection part 31 transmits a plug-in filedeletion request for the printer driver setting information storage area13 to the writing part 33 (indicated as “PIF-PDD writing part 33”).

When the writing part 33 receives the plug-in file deletion request fromthe plug-in file detection part 31, the writing part 33 deletes thebinary image data of the plug-in file corresponding to the plug-in file15 deleted from the specific folder of the HDD 11 from the printerdriver setting information storage area 13, and renews the content ofthe printer driver setting information storage area 13 in step S45.

The UI display part 40 of the client PC 2 displays “PDD updatecompletion” in step S46. Further, the renewed content of the printerdriver setting information storage area 13 is copied to the printerdriver setting information storage area 23 of the client PC 2 by thefunction of the spooler service 14. As a result, the printer driversetting information storage area 13 and the printer driver settinginformation storage area 23 have the same content. Accordingly, thebinary image data of the plug-in file corresponding to the deletedbinary image data of the plug-in file in the printer driver settinginformation storage area 13 is also deleted from the printer driversetting information storage area 23.

In step S47, the UI display part 40 of the printer driver 22 of theclient PC 2 transmits a PIF confirmation request to the printer driverdata detection part 41 (indicated as “PDD detection part 41”). When theprinter driver data detection part 41 receives the PIF confirmationrequest from the UI display part 40, the printer driver data detectionpart 41 detects whether the binary image data of the plug-in file in theprinter driver setting information storage area 23 is deleted in stepS48. When the printer driver data detection part 41 detects deletion,the printer driver data detection part 41 transmits a plug-in filedeletion request to the writing part 43 (indicated as “PDD-PIF writingpart 43”).

When the plug-in file deletion request is received from the printerdriver data detection part 41, the writing part 43 deletes the plug-infile corresponding to the binary image data of the plug-in file deletedfrom the printer driver setting information storage area 23 from thespecific folder of the HDD 21 in step S49. This writing part 43 forms asecond deletion unit which detects deletion of the binary image data ofthe plug-in file stored in the printer driver setting informationstorage area 23, and deletes from the HDD 21 a plug-in filecorresponding to the plug-in file deleted from the printer driversetting information storage area 23.

Further, if no plug-in file is deleted from the specific folder of theHDD 21, then the PIF read part 42 does not perform an operation.

In this way, the plug-in file corresponding to that deleted from theserver PC 1 can be also deleted automatically from the client PC 2.

Further, the process, which the printer driver 12 of the server PC 1 asdescribed above writes the binary image data of the plug-in file in theprinter driver setting information storage area 13, may be performed byan installer installing a plug-in file on the HDD 11 of the server PC 1when the plug-in file is installed in the specific folder within the HDD11.

The information processing system, the information processing method andthe computer-readable recording medium according to the presentinvention can be applied to most apparatuses which include personalcomputer using printer drivers.

The present invention is not limited to the specifically disclosedembodiments, and variations and modifications may be made withoutdeparting from the scope of the present invention.

What is claimed is:
 1. An information processing system comprising: aserver apparatus; and a client apparatus that is communicatable with theserver apparatus via a network, the server apparatus comprising: a firststorage unit; a first detection unit configured to detect installing ofa program in the server apparatus; a first conversion unit configured toconvert a file including the program that is detected by the firstdetection unit into a predetermined form; a first storage control unitconfigured to store the file converted to the predetermined form in afirst storage area of the first storage unit; and a transmitting unitconfigured to transmit the file stored in the first storage area to theclient apparatus, the client apparatus comprising: a second storageunit; a second storage control unit configured to store the filetransmitted from the server apparatus in a second storage area of thesecond storage unit; a second detection unit configured to detectstoring of the file in the second storage area of the second storageunit; a second conversion unit configured to convert the file detectedby the second detection unit into an installable form that isinstallable in the client apparatus; and an installing unit configuredto install the program included in the file converted to the installableform in the client apparatus.
 2. The information processing system asclaimed in claim 1, the client apparatus further comprising: a checkingunit configured to check, when storing of the file in the second storagearea is detected by the second detection unit, whether an identical filethat is identical with the file detected by the second detection unit isstored in the client apparatus, wherein, if the checking unit determinesthat the identical file is stored in the client apparatus, the secondconversion unit does not perform conversion on the file stored in thesecond storage area, and the installing unit does not perform installingof the program.
 3. The information processing system as claimed in claim2, wherein the checking unit checks whether the identical file is storedin the client apparatus based on a file name and a creation date of thefile stored in the second storage area.
 4. The information processingsystem as claimed in claim 1, wherein, when there are a plurality offiles of programs that are detected by the first detection unit, thefirst conversion unit of the server apparatus converts the plurality offiles to the predetermined form and compresses converted files into asingle file.
 5. The information processing system as claimed in claim 1,the server apparatus further comprising: an information adding unitconfigured to add information for identifying an operating system inwhich the file operates when the file converted to the predeterminedform is stored in the first storage area of the first storage unit. 6.The information processing system as claimed in claim 1, wherein thetransmitting unit of the server apparatus and the second storage controlunit of the client apparatus are provided by an operating system.
 7. Aninformation processing method comprising the steps of: detecting, by aserver apparatus, installing of a program in the server apparatus;converting, by the server apparatus, a file including the program thatis detected in the step of detecting into a predetermined form; storing,by the server apparatus, the file converted to the predetermined form ina first storage area of a first storage unit of the server apparatus;transmitting, by the server apparatus, the file stored in the firststorage area to a client apparatus that is communicatable with theserver apparatus via a network; storing, by the client apparatus, thefile transmitted from the server apparatus in a second storage area of asecond storage unit of the client apparatus; detecting, by the clientapparatus, storing of the file in the second storage area of the secondstorage unit; converting, by the client apparatus, the file that isdetected in the step of detecting into an installable form that isinstallable in the client apparatus; and installing, by the clientapparatus, the program included in the file converted to the installableform in the client apparatus.
 8. The information processing method asclaimed in claim 7, further comprising: checking, by the clientapparatus, whether an identical file that is identical with the filestored in the second storage area is stored in the client apparatus whenstoring of the file in the second storage area is detected, wherein, ifit is determined that the identical file is stored in the clientapparatus, the client apparatus does not perform conversion on the filestored in the second storage area, and does not perform installing ofthe program.
 9. The information processing method as claimed in claim 8,wherein the client apparatus checks whether the identical file is storedin the client apparatus based on a file name and a creation date of thefile stored in the second storage area.
 10. The information processingmethod as claimed in claim 7, wherein, when there are a plurality offiles of programs that are detected in the step of detecting by theserver apparatus, the server apparatus converts the plurality of filesto the predetermined form and compresses converted files into a singlefile.
 11. The information processing method as claimed in claim 7,further comprising: adding, by the server apparatus, information foridentifying an operating system in which the file operates when the fileconverted to the predetermined form is stored in the first storage areaof the first storage unit.
 12. The information processing method asclaimed in claim 7, wherein the step of transmitting by the serverapparatus and the step of storing by the client apparatus are providedby an operating system.
 13. A non-transitory computer readable recordingmedium encoded with computer executable instructions performing, whenexecuted by a computer, the following steps of: a first detectionprocedure detecting installing of a program in a server apparatus; afirst conversion procedure converting a file including the program thatis detected by the first detection procedure into a predetermined form;a first storage control procedure storing the file converted to thepredetermined form in a first storage area of a first storage unit ofthe server apparatus; a transmitting procedure transmitting the filestored in the first storage area to a client apparatus that iscommunicatable with the server apparatus via a network; a second storagecontrol procedure storing the file transmitted from the server apparatusin a second storage area of a second storage unit in the clientapparatus; a second detection procedure detecting storing of the file inthe second storage area of the second storage unit in the clientapparatus; a second conversion procedure converting the file detected bythe second detection procedure into an installable form that isinstallable in the client apparatus; and an installing procedureinstalling the program included in the file converted to the installableform in the client apparatus.
 14. The non-transitory computer readablerecording medium as claimed in claim 13, wherein the computer executableinstructions further perform the following step of a checking procedurechecking, when storing of the file in the second storage area isdetected by the second detection procedure, whether an identical filethat is identical with the file detected by the second detectionprocedure is stored in the client apparatus, wherein, if the checkingprocedure determines that the identical file is stored in the clientapparatus, the second conversion procedure does not perform conversionon the file stored in the second storage area, and the installingprocedure does not perform installing of the program.
 15. Thenon-transitory computer readable recording medium as claimed in claim14, wherein the checking procedure checks whether the identical file isstored in the client apparatus based on a file name and a creation dateof the file stored in the second storage area.
 16. The non-transitorycomputer readable recording medium as claimed in claim 13, wherein, whenthere are a plurality of files of programs that are detected by thefirst detection procedure, the first conversion procedure converts theplurality of files to the predetermined form and compresses convertedfiles into a single file.
 17. The non-transitory computer readablerecording medium as claimed in claim 13, wherein the computer executableinstructions further perform the following step of an information addingprocedure adding information for identifying an operating system inwhich the file operates when the file converted to the predeterminedform is stored in the first storage area of the first storage unit. 18.The non-transitory computer readable recording medium as claimed inclaim 13, wherein the transmitting procedure and the second storagecontrol procedure are provided by an operating system.